import java.util.HashMap;

public class LeetCode01 {
    public int[] twoSum(int[] nums, int target) {
        /**
         * 思路遍历数组，拿到每个数字x
         * 以target - x 作为key 到 hash 表查找
         * 1）若找到，将x 作为 key ,他的索引作为value 放入 hash 表中
         * 2）若找到，返回x 和它配对的索引即可
         */
        //根据目标值 - x 去hash 表中找
        HashMap<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            int complement = target - nums[i];
            //找差值
            if (map.containsKey(complement)) {
                return new int[]{map.get(complement), i};
            }else{
                map.put(nums[i], i);
            }
        }
        return null;
    }
}
